Computer aided sales presentations wherein rules-based configurators are employed have long been a valuable tool for allowing a customer or client to configure his or her own order of a product or products. This technique is employed in a network environment whereby a client configures his or her order and sends it over the Internet, or another type of network, to a seller which can fill the order. For example, a complex computer system has many different features, accessories, options, etc. With the appropriate software program, a client can configure his or her own custom order for a particular brand or type of system. By employing an interactive method a client can apply certain desired features in his product-order configuration that were chosen from options provided by a seller.
More recently, it is known to the inventor that object-oriented, constraint-based configurators have begun to replace rules-based configurators by virtue of their more flexible organization. For example, rules-based configurators rely on set rules that are programmed in a procedural computer language. Partly for this reason, every change in the merchandise offered may require substantial changes in the software, which can be quite a lot of work, considering the fast pace of trade today. However, what is needed is a separation between the product configuration knowledge and the process that manipulates the knowledge base. With such separation, the knowledge base can be changed easily via an editing process. The knowledge base applies the changes via linking to other elements of the process such as the object model. However the object models are dependent on the language and platform used for implementation of the knowledge base. Generally programming is required to initiate revision to the product across several platforms.
Generally speaking, an object model representing a product, such as a new automobile, is created using a programming language within a model building application at the sellers end. This object model contains all of the descriptive elements and various features including cost information about the object it represents. A model writer procedure then writes a binary file, which is readable only to applications written in the same environment. These object models can then be presented to a client having the appropriate software application on the correct platform and using the required language. The client can then enter his desired choices or options via interactive software. A configurator commonly known as a run-time engine insures that the client's choices are applied correctly. The configurator is also adapted to negate any conflict or impossibility that may arise from the client's directives.
A difficulty with the current state of the art, which has hampered fast deployment of knowledge bases severely, is that although a knowledge base is superior to a rules base as described above, the knowledge base is language-dependent and not easily transferred across different platforms (i.e. IBM to Macintosh, or even Win 3.1 vs. Win 95). For example, a client would be required to operate in the same computer platform and language to be able to interactively configure his desired purchase. This is a serious problem because it severely limits the targeted on-line community that a seller may reach.
What is clearly needed is a method and apparatus wherein a knowledge base can be transportable across divergent types of computer platforms and languages.